Clock Tree |
您所在的位置:网站首页 › cpu pll selection › Clock Tree |
Clock Tree
This section lists definitions of the ESP32’s supported root clocks and module clocks. These definitions are commonly used in the driver configuration, to help user select a proper source clock for the peripheral. Root ClocksRoot clocks generate reliable clock signals. These clock signals then pass through various gates, muxes, dividers, or multipliers to become the clock sources for every functional module: the CPU core(s), WIFI, BT, the RTC, and the peripherals. ESP32’s root clocks are listed in soc_root_clk_t: Internal 8MHz RC Oscillator (RC_FAST) This RC oscillator generates a ~8.5MHz clock signal output as the RC_FAST_CLK. The ~8.5MHz signal output is also passed into a configurable divider, which by default divides the input clock frequency by 256, to generate a RC_FAST_D256_CLK. The exact frequency of RC_FAST_CLK can be computed in runtime through calibration on the RC_FAST_D256_CLK. External 2~40MHz Crystal (XTAL) Internal 150kHz RC Oscillator (RC_SLOW) This RC oscillator generates a ~150kHz clock signal output as the RC_SLOW_CLK. The exact frequency of this clock can be computed in runtime through calibration. External 32kHz Crystal - optional (XTAL32K) The clock source for this XTAL32K_CLK can be either a 32kHz crystal connecting to the 32K_XP and 32K_XN pins or a 32kHz clock signal generated by an external circuit. The external signal must be connected to the 32K_XN pin. Additionally, a 1nF capacitor must be placed between the 32K_XP pin and ground. In this case, the 32K_XP pin cannot be used as a GPIO pin. XTAL32K_CLK can also be calibrated to get its exact frequency. Typically, the frequency of the signal generated from a RC oscillator circuit is less accurate and more sensitive to environment comparing to the signal generated from a crystal. ESP32 provides several clock source options for the RTC_SLOW_CLK, and users can make the choice based on the requirements for system time accuracy and power consumption (refer to RTC 定时器时钟源 for more details). Module ClocksESP32’s available module clocks are listed in soc_module_clk_t. Each module clock has a unique ID. You can get more information on each clock by checking the documented enum value. API Reference Header Filecomponents/soc/esp32/include/soc/clk_tree_defs.h Macros SOC_CLK_RC_FAST_FREQ_APPROXApproximate RC_FAST_CLK frequency in Hz SOC_CLK_RC_SLOW_FREQ_APPROXApproximate RC_SLOW_CLK frequency in Hz SOC_CLK_RC_FAST_D256_FREQ_APPROXApproximate RC_FAST_D256_CLK frequency in Hz SOC_CLK_XTAL32K_FREQ_APPROXApproximate XTAL32K_CLK frequency in Hz SOC_GPTIMER_CLKSArray initializer for all supported clock sources of GPTimer. The following code can be used to iterate all possible clocks: soc_periph_gptimer_clk_src_t gptimer_clks[] = (soc_periph_gptimer_clk_src_t)SOC_GPTIMER_CLKS; for (size_t i = 0; i |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |